﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DECOR.BL.BE;
using DECOR.BL.BC;
using System.Collections.Generic;

namespace DECOR.WebApp
{
    public partial class ListaPend : System.Web.UI.Page
    {
        private ClienteBE _lvObjCliente;
        
        protected void Page_Load(object sender, EventArgs e)
        {
            List<TipoDocumentoBE> lstTipoDocumento = TipoDocumentoBC.Instance.listar();
            cmbTipoDocumento.DataValueField = "Codigo";
            cmbTipoDocumento.DataTextField = "Descripcion";
            cmbTipoDocumento.DataSource = lstTipoDocumento;
            cmbTipoDocumento.DataBind();
            List<GenericBE> lstOrgVtas = ClienteBC.Instance.listaOrgVtas("");
            cmbOrgVtas.DataValueField = "Codigo";
            cmbOrgVtas.DataTextField = "Descripcion";
            cmbOrgVtas.DataSource = lstOrgVtas;
            cmbOrgVtas.DataBind();

            List<GenericBE> lstCanalDist = ClienteBC.Instance.listaCanalDist("", "");
            cmbCanalDist.DataValueField = "Codigo";
            cmbCanalDist.DataTextField = "Descripcion";
            cmbCanalDist.DataSource = lstCanalDist;
            cmbCanalDist.DataBind();
            List<GenericBE> lstSectores = ClienteBC.Instance.listaSectores();
            cmbSector.DataValueField = "Codigo";
            cmbSector.DataTextField = "Descripcion";
            cmbSector.DataSource = lstSectores;
            cmbSector.DataBind();
            List<GenericBE> lstOficinas = OficinaBC.Instance.listar();
            cmbOficina.DataValueField = "Codigo";
            cmbOficina.DataTextField = "Descripcion";
            cmbOficina.DataSource = lstOficinas;
            cmbOficina.DataBind();


            PersonaBE objPerVacio = new PersonaBE(); objPerVacio.CodPersona = ""; objPerVacio.Descripcion = "---";
            List<PersonaBE> lstVendedores = PersonaBC.Instance.listarVendedores();
            lstVendedores.Add(objPerVacio);

            cmbVendedor2.DataValueField = "CodPersona";
            cmbVendedor2.DataTextField = "Descripcion";
            cmbVendedor2.DataSource = lstVendedores;
            cmbVendedor2.DataBind();
            cmbVendedor2.SelectedValue = "";

            List<GenericBE> lstCentros = CentroBC.Instance.listar();
            cmbCentro.DataValueField = "Codigo";
            cmbCentro.DataTextField = "Descripcion";
            cmbCentro.DataSource = lstCentros;
            cmbCentro.DataBind();
            cmbCentro.Text = "";
           
        }
        [System.Web.Services.WebMethod]
        [System.Web.Script.Services.ScriptMethod]
        public static string[] buscaClientes(string prefixText, int count)
        {
            string[] retVal;
            List<ClienteBE> lstClientes = ClienteBC.Instance.buscar(prefixText);
            List<string> lst = new List<string>();
            int total = lstClientes.Count < count ? lstClientes.Count : count;
            for (int i = 0; i < total; i++)
            {
                string item = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(lstClientes[i].Descripcion, lstClientes[i].Codigo);
                lst.Add(item);
            }
            retVal = lst.ToArray();
            return retVal;
        }

        protected void txtCodCuentaSolicitante_TextChanged(object sender, EventArgs e)
        {
            try
            {
                //cmbVendedor3.Enabled = false;
                if (!txtCodSolicitante.Text.Trim().Equals(""))
                {
                    _lvObjCliente = ClienteBC.Instance.leer(txtCodSolicitante.Text);
                    string tmpNomCli = _lvObjCliente == null ? "" : _lvObjCliente.Descripcion;
                    string tmpDirCli = _lvObjCliente == null ? "" : _lvObjCliente.DireccionCompleta;
                    string tmpRucCli = _lvObjCliente == null ? "" : _lvObjCliente.Ruc;

                    if (_lvObjCliente == null) { tmpNomCli = "...No se encontró el cliente..."; }

                    txtNomSolicitante.Text = tmpNomCli;



                    Session["Cliente"] = _lvObjCliente;

                    // this.bloquearCliente();
                    //-- habilitar codigo de cliente
                    txtCodSolicitante.ReadOnly = false;
                }
               // this.cargarInfoCliente();

            }
            catch (Exception ex)
            {
                string str = (Session["Mensaje"] != null ? Session["Mensaje"].ToString() : "");
                Session["Mensaje"] = string.IsNullOrEmpty(str) ? ex.Message : str + "\r\n" + ex.Message;
            }
            finally
            {
                //((Site)Master).muestraMensajes();
                //_lvObjCliente = (ClienteBE)Session["Cliente"];
                //if (_lvObjCliente != null && _lvObjCliente.Eventual)
                //{
                //    mpeInterlocutores.Show();
                //}
            }
        }
       
     


    }
}
